home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Prograph Classic 2.6.1 / Examples / Super_System_Classes / Floating Windows ƒ / Floating Windows.ReadMe < prev   
Text File  |  1994-10-21  |  4KB  |  60 lines

  1. Example:      Floating Windows
  2. Written by:  Prograph International (Garth Smedley)
  3. Contents:     Floating Windows.pgs
  4.                                Floating Window XPrims
  5.                                Floating Window XPrims Library
  6.                    Floating Windows.ReadMe
  7.  
  8. Needs Prograph Extensions:
  9.                    Math Primitives
  10.                    More Primitives
  11.                    Primitives
  12.                    Floating Window XPrims
  13.                     
  14.  
  15. Needs Libraries to Compile:
  16.                    Floating Window XPrims Library
  17.                    SCLibrary 2.6
  18.                    Library 2.6
  19.  
  20. Standard Methods That Were Modified:
  21.                    Universal Initial
  22.                    Application/Notify
  23.                    Application/Mouse Down
  24.                    Menu/Quit
  25.  
  26. New Classes:
  27.                   Regular Window
  28.                   Floating Window                
  29.                   Pallette
  30.                   Test Pallette
  31.                   Test Window
  32.  
  33. Description
  34. -----------
  35. An example file with a special set of primitives that allows the use of "floating windows" in your Prograph program.  Floating windows stay in front of all other active windows.  A Palette class provides code for subdividing a window into a series of rectangles that invert when selected and remembers the last selection.
  36.  
  37. How to Use in Your Program
  38. -------------------------    
  39. The classes "Floating Window", "Regular Window" and "Modal Window" have methods which keep floating windows afloat. Selectively load these classes into your file or use the example file as a starting point for your application. If you are adding floating windows to an existing file you will also have to selectively load "Application/Notify", "Application/Mouse Down", "Application/front" and "Menu/Quit". "Notify" and "Mouse Down" are changed to call "/front" instead of getting "front" directly, "front" is a get method and "Quit" has been changed to close all windows.
  40.  
  41. There are some rules you must follow in order to keep floating windows on top. All of your windows must be of class "Floating Window", "Regular Window" or "Modal Window" or a subclass of one of these. You must use the "/Open" and "/Close" methods to open and close windows; setting "active?" directly is not allowed. Because of this, you can't keep windows in the Application's active list since Prograph automatically sets "active?". Also, do not get or set the "front" attribute of Application directly; use "/front" to get the front window and "Regular Window/Bring To Front" to bring a window to the front.
  42.  
  43. To get a floating window with the title bar on the left, change the "def ID" attribute of your window from 3200 to 3202. To add or remove the close box set the "close?" attribute to TRUE or FALSE.
  44.  
  45. The example includes a class "Palette", a subclass of "Picture". Palette has two extra attributes, a list of rectangles and the currently selected rectangle. "Palette" selects a rectangle when its clicked in, and keeps the selected rectangle inverted. The classes "Test Window" and "Test Palette" demonstrate the use of "Palette" and floating windows.
  46.  
  47.  
  48. More Details
  49. ------------
  50. This example uses a set of external primitives (XPrims) to fool the Macintosh Window Manager into making windows float. The XPrims mirror normal window manager calls, they all start with "FW" usually followed by the name of the corresponding window manager routine. 
  51.  
  52. FWSelectWindow - Replaces SelectWindow.
  53. FWDragWindow - Replaces DragWindow.
  54. FWHideWindow - Replaces HideWindow.
  55. FWShowWindow - Replaces ShowWindow.
  56. FWScanWindows - Returns front floater, bottom floater and front regular. Replaces FrontWindow.
  57. FWHiliteAll - Floating windows usually stay hilited, except when the application is suspended or a modal dialog is opened. Unhilites all floaters.
  58. FWOpenWindow - Allocates a window record and opens the window items.
  59.  
  60. A window definition function, (WDEF), is used to draw the title bar of the floating window. This WDEF is kept in the resource forks of the XPrim and XPrim library files and is automatically added to your application.